//添加class类名
export  function addClass(el,className){
  if(hasClass(el,className)){
    return
  }
  //将classname分割成字符存到数组再链接一起给el
  let newClass = el.className.split(' ')
  newClass.push(className)
  el.className = newClass.join(' ')
}

export function hasClass(el,className) {
  let reg = new RegExp('(^|\\s)'+className+'(\\s|$s)')
  return reg.test(el.className)
}

//data 值的拼串
//val表示值，没有值的时候就get  有值的时候就set
//el表示dom
export function getData(el,name,val) {
  const prefix = 'data-';
  if(val){
    //setAttribute() 方法添加指定的属性，并为其赋指定的值
    return el.setAttribute(prefix+name,val)
  }
  return el.getAttribute(prefix+name)
}

//兼容各大浏览器
let elementStyle = document.createElement('div').style

let vendor = (() => {
  let transformNames = {
    webkit: 'webkitTransform',
    Moz: 'MozTransform',
    O: 'OTransform',
    ms: 'msTransform',
    standard: 'transform'
  }

  for (let key in transformNames) {
    if (elementStyle[transformNames[key]] !== undefined) {
      return key
    }
  }

  return false
})()

export function prefixStyle(style) {
  if (vendor === false) {
    return false
  }

  if (vendor === 'standard') {
    return style
  }

  return vendor + style.charAt(0).toUpperCase() + style.substr(1)
}
